=======================+++++++===========+++++=+=+=-:.-:..-=++++===*#
=-==================--------=-----------==+++==-:+:.+=:.=+=:===+===+#
-:::::----=====+++==============---------==+=:-+#*+*#::+#-:---=++**#=
-:::::----===++++++++++++++=-=+++===+===+##+=-*###*#*+*##=+=++*##%#*=
==--==++++==**********************+**+++*##*+*###%#####*#+==#########
********##**########%##%##%#*******##*******************++++********#
#########**###############*********##***************+*++++++++++++***
##%%###**##############***********###*#*********************++******#
######*#%%#%##%#####*#************#####*#***************************#
####********##*#*****#*************###########**********************#
####%###%##%####*****#**********++**#*###############################
####**##****#************#******#*###***#####*#######################
######***#****************#*****#**###****##*####****####**###****###
####**#******************#####****###*******************************#
#**********#*************####******##*******************************#
**********#*************************##*****+************************#
************************#**##*********##******+*********************#
#***##*********************************##********++*****************#
#*************************##************###********++***************#
#*************************###************###**********+++***********#
#******************************************###***********+++********#
**************************************++****####***********++++*****#
##########%%%%%%#############%%%#%%%######%%%%%%%%%%%###############%